package fachadaUsuario.delegate;

import java.util.List;

import usuario.usuarioTO.UsuarioTO;
import fachadaUsuario.actions.BuscarUsuarioAction;
import fachadaUsuario.actions.CambiarDatosUsuarioAction;
import fachadaUsuario.actions.CrearUsuarioAction;
import fachadaUsuario.actions.EliminarUsuarioAction;
import fachadaUsuario.actions.ListarUsuariosAction;
import fachadaUsuario.actions.MoverUsuarioAction;

public class UsuarioFacade{

	public void CrearUsuario(UsuarioTO uto) {
		CrearUsuarioAction crear = new CrearUsuarioAction(uto);
		crear.Execute();
	}

	public void EliminarUsuario(List<UsuarioTO> utos) {
		EliminarUsuarioAction eliminar = new EliminarUsuarioAction(utos);
		eliminar.Execute();
	}

	public void MoverUsuario(String dirOrigen, String dirDestino,
			boolean sobreescribir) {
		MoverUsuarioAction exportar = new MoverUsuarioAction(dirOrigen,
				dirDestino, sobreescribir);
		exportar.Execute();
	}

	public void CambiarDatosUsuario(UsuarioTO uto) {
		CambiarDatosUsuarioAction cambiar = new CambiarDatosUsuarioAction(uto);
		cambiar.Execute();
	}

	public UsuarioTO BuscarUsuario(String nombre) {
		BuscarUsuarioAction buscar = new BuscarUsuarioAction(nombre);
		return (UsuarioTO) buscar.Execute();
	}

	@SuppressWarnings("unchecked")
	public List<String> ListarUsuarios() {
		ListarUsuariosAction listar = new ListarUsuariosAction();
		return (List<String>) listar.Execute();
	}

}
